#ifndef MESSAGEEDITAREA_H
#define MESSAGEEDITAREA_H

#pragma once
#include"historymessagewidget.h"
#include"model/datacenter.h"


#include <QWidget>
#include<QPlainTextEdit>
#include<QLabel>
#include<QPushButton>
#include<QVBoxLayout>
#include<QScrollBar>
#include<QPainter>
#include<QStyleOption>

/////////////////////////////
///消息编辑区
/////////////////////////////
class MessageEditArea : public QWidget
{
    Q_OBJECT
public:
    MessageEditArea(QWidget* owner);

    void paintEvent(QPaintEvent* event)override;

    //关联槽函数与信号
    void initSignalSlot();

    // 消息输⼊框
    QPlainTextEdit* textEdit;
    // 提⽰信息 label
    QLabel* tipLabel;
    // 发送消息按钮
    QPushButton* sendBtn;
    // 发送图⽚消息
    QPushButton* sendImageBtn;
    // 发送⽂件消息
    QPushButton* sendFileBtn;
    // 显⽰历史消息按钮
    QPushButton* showHistoryBtn;
    // 发送语⾳按钮
    QPushButton* sendSoundBtn;
private:
    // 被哪个窗⼝持有. 指向 MainWidget 的指针
    QWidget* owner;

    //发送消息
    void sendTextMessage();

    //添加消息
    void addSelfMessage(model::MessageType messageType, const QByteArray &content, const QString& extraInfo);

    void addOtherMessage(const model::Message& messsage);
};

#endif // MESSAGEEDITAREA_H
